﻿using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using Insifo.BE.Gcg;
using Insifo.DL.Gcg;

namespace Insifo.BL.Gcg
{
    public class BLContenido
    {
        DLContenido _dl = new DLContenido();

        /// <summary>
        /// Método obtiene la lista
        /// </summary>
        /// <returns>Devuelve un DataSet</returns>
        public DataSet Listar(BEContenido pbe)
        {
            return _dl.Listar(pbe);
        }

        /// <summary>
        /// Método obtiene la lista
        /// </summary>
        /// <returns>Devuelve un DataSet</returns>
        public DataSet ListarPorSeccion(BEContenido pbe)
        {
            return _dl.ListarPorSeccion(pbe);
        }

        /// <summary>
        /// Método obtiene la lista
        /// </summary>
        /// <returns>Devuelve un DataSet</returns>
        public DataSet ListarPorSeccionCodigo(BEContenido pbe)
        {
            return _dl.ListarPorSeccionCodigo(pbe);
        }



        /// <summary>
        /// Método que obtiene un objeto
        /// </summary>
        /// <returns>Devuelve un Objeto</returns>
        public BEContenido Obtener(BEContenido pbe)
        {
            //Obtiene el detalle de salida
            return _dl.Obtener(pbe);

        }


        /// <summary>
        /// Método que obtiene un objeto
        /// </summary>
        /// <returns>Devuelve un Objeto</returns>
        public BEContenido ObtenerPorCodigo(BEContenido pbe)
        {
            //Obtiene el detalle de salida
            return _dl.ObtenerPorCodigo(pbe);

        }


        /// <summary>
        /// Método que actualiza un objeto
        /// </summary>
        /// <returns>Devuelve un Objeto</returns>
        public BEContenido Actualizar(BEContenido pbe)
        {
            return _dl.Actualizar(pbe);
        }

        /// <summary>
        /// Método que actualiza un objeto
        /// </summary>
        /// <returns>Devuelve un Objeto</returns>
        public BEContenido Insertar(BEContenido pbe)
        {
            return _dl.Insertar(pbe);
        }

        /// <summary>
        /// Método que elimina logicamente un objeto
        /// </summary>
        /// <returns>Devuelve un Objeto</returns>
        public BEContenido Eliminar(BEContenido pbe)
        {
            return _dl.Eliminar(pbe);
        }

        /// <summary>
        /// Método que actualiza un objeto
        /// </summary>
        /// <returns>Devuelve un Objeto</returns>
        public BEContenido Modificar(BEContenido pbe)
        {
            BEContenido be = null;
            if (pbe.RefAccion == BE.DbTipoAccion.Insertar)
            {
                be = Insertar(pbe);
            }
            else if (pbe.RefAccion == BE.DbTipoAccion.Eliminar)
            {
                be = Eliminar(pbe);
            }
            else if (pbe.RefAccion == BE.DbTipoAccion.Actualizar)
            {
                be = Actualizar(pbe);
            }
            return be;
        }
    }
}
